import { ctx } from '../../entrance/inter';
import form_data from './form-data'
import jsom from './json'

if(module) module.exports = other;
export default async function other (ctx:ctx,SIZE:number){
  // 类型有可能为空
  let type:string = ctx.$req.headers['content-type'] || "";
  let parameter:any = {};
  
  if(type.startsWith("multipart/form-data;")){
    parameter = await form_data(ctx.$req,ctx.request,SIZE);
  }else{
    //默认为json格式
    parameter = await jsom(ctx.$req,SIZE);
  }

  ctx.dynamicRoutingParameters && (parameter.parameter = Object.assign(parameter.parameter,ctx.dynamicRoutingParameters))

  //与请求头合并
  for(let a in parameter.parameter){ctx[a]=parameter.parameter[a]}
  ctx.$all=(key:string)=>{
    if(key){return parameter.parameter[key]}
    return parameter.parameter; 
  }
  return parameter.parameter;
}

